var nodemailer = require('nodemailer');
var redis = require('redis');

// create reusable transporter object using SMTP transport
var transporter = nodemailer.createTransport({
    service: 'Gmail',
    auth: {
        user: 'example@mail.com',
        pass: 'pwd'
    }
});

var r_client = redis.createClient(6379, '192.168.125.85');
r_client.subscribe('messages');

r_client.on('message', function(channel, message) {

    body = JSON.parse(message);
    
    console.log(body);
    
    switch(body.category) {
        
        case 'Licencias':
            send_email(body.author, body.subject, 'Respuesta compleja a una pregunta difícil de Licencias');       
            break;
            
        case 'Demos':
            send_email(body.author, body.subject, 'Respuesta compleja a una pregunta difícil de Demos');       
            break;        

        case 'SDP':
            send_email(body.author, body.subject, 'Respuesta compleja a una pregunta difícil de SDP');       
            break;    
            
        case 'WWP/Urgentes':
            send_email(body.author, body.subject, 'Respuesta compleja a una pregunta difícil de WWP/Urgentes');       
            break;

        case 'WWP/Dudas':
            send_email(body.author, body.subject, 'Respuesta compleja a una pregunta difícil de WWP/Dudas');       
            break;   

        case 'WWP/WebConfig':
            send_email(body.author, body.subject, 'Respuesta compleja a una pregunta difícil de WWP/WebConfig');       
            break;     
            
        case 'noCategory':
            send_email(body.author, body.subject, 'Sin categoría');       
            break;                     
    }

       
});

function send_email(to, subject, text) {

    var mailOptions = {
    from: 'Example Mail <example@mail.com>', // sender address
    to: to, // list of receivers
    subject: subject, // Subject line
    text: text, // plaintext body
    };
    
    // send mail with defined transport object
    transporter.sendMail(mailOptions, function(error, info){
        if(error){
            console.log(error);
        }else{
            console.log('Message sent: ' + info.response);
        }
    });   
}